The present invention relates to an echo canceler for canceling echo components in a local input signal.
Echo cancelers are used in communication devices such as hands-free automobile telephone sets and video-conferencing terminals. An echo canceler has a filter that processes a signal received from a far-end communication device, estimates the echo that the received signal will produce in the local input signal, and creates a replica of the estimated echo. The echo replica is subtracted from the local input signal so that the party at the far end will not hear an echo of his or her own voice.
The filter has tap coefficients that represent the transfer characteristics of the echo path. To deal with changes in the characteristics of the echo path, and with external noise, the tap coefficients are adjusted by an algorithm that attempts to reduce the residual echo left after echo cancellation. Two widely-used algorithms are the least mean squares (LMS) algorithm and the normalized least mean squares (NLMS) algorithm, both of which have the advantages of stable operation and comparatively light computational requirements.
These algorithms have the disadvantage, however, of converging only slowly to a state that accurately reflects the transfer characteristics of the echo path. In an automobile telephone, for example, changes in echo path characteristics can occur rapidly, as when the driver changes position, or places a hand near the microphone or loudspeaker of the telephone set. The LMS and NLMS algorithms cannot be relied on to respond to rapid changes with satisfactory speed.
Algorithms that converge faster, such as the affine projection algorithm, have been proposed, but these algorithms require extensive computation, and have rarely been put into practice.